#pragma once

#define SIZE 1024
#define FLUSH_NONE 0
#define FLUSH_LINE 1
#define FLUSH_FULL 2

typedef struct my_IO_FILE
{
    int flag; // 刷新方式
    int fileno; // 文件描述符
    char outbuffer[SIZE]; // 库缓冲区
    int cap;
    int size;
    // TODO
}mFILE;

mFILE *mfopen(const char *filename, const char *mode);

int mfwrite(const void *ptr, int num, mFILE *stream);

void mfflush(mFILE *stream);

void mfclose(mFILE *stream);